/*
 *
 * Copyright (C) 2009 jack.wgm.
 * For conditions of distribution and use, see copyright notice 
 * in (http://code.google.com/p/netsever/source/browse/trunk/COPYING)
 *
 * Author: jack.wgm
 * Email:  jack.wgm@gmail.com
 */

#ifndef __OPTIONDLG_H__
#define __OPTIONDLG_H__

#pragma once


class COptionDlg : public CResizableDialogImpl<COptionDlg>, 
    public CUpdateUI<COptionDlg>
{
public:
    typedef CResizableDialogImpl<COptionDlg> baseClass;

public:
    enum { IDD = IDD_DLG_SETTING };

    BEGIN_UPDATE_UI_MAP(COptionDlg)
    END_UPDATE_UI_MAP()

    BEGIN_MSG_MAP(COptionDlg)
        CHAIN_MSG_MAP(baseClass)
        MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog)
        MESSAGE_HANDLER(WM_DESTROY, OnDestroy)
        COMMAND_ID_HANDLER(IDOK, OnOK)
        COMMAND_ID_HANDLER(IDCANCEL, OnCancel)
    END_MSG_MAP()

	LRESULT OnInitDialog(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/);
    LRESULT OnDestroy(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/);
    LRESULT OnOK(WORD /*wNotifyCode*/, WORD wID, HWND /*hWndCtl*/, BOOL& /*bHandled*/);
    LRESULT OnCancel(WORD /*wNotifyCode*/, WORD wID, HWND /*hWndCtl*/, BOOL& /*bHandled*/);

private:
    CHotKeyCtrl m_cHotKey;
    DWORD m_dwHotKey;
    int m_nHotKeyId;
    int m_nIsTop;
    std::string m_strTitle;
};

#endif // __OPTIONDLG_H__

